#ifndef DEV_PTL_MODEL_H
#define DEV_PTL_MODEL_H

#include <cstdint>
#include <functional>

#include "cfdl_ptl_type.h"

class DevPtlModel
{
public:
    DevPtlModel();
    virtual ~DevPtlModel();

public:
    virtual void ptl_run(uint16_t ms) = 0;
    virtual int  ptl_io_in(uint8_t *, uint16_t) = 0;
    virtual void register_send_fun(std::function<void(const char*, uint16_t)>) = 0;

public:
    virtual void register_cmd_module(uint16_t, cfdl_msg_fun_cb, cfdl_msg_fun_cb);
};

#endif // DEV_PTL_MODEL_H
